package com.turing.post.cardmanagement.util;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 调整单
 * @author ys
 * @date 2012-12-17
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "AdjustInOutStockOrder")
public class AdjustInOutStockOrder implements Serializable {
	
	/**
	 * 移植
	 */
	public final static String ADJUSTINOUTSTOCKORDER_TRANTYPE_TRANSPLANT = "00";
	
	/**
	 * 移植取消
	 */
	public final static String ADJUSTINOUTSTOCKORDER_TRANTYPE_TRANSPLANTCANCEL = "10";
	
	/**
	 * 丢失
	 */
	public final static String ADJUSTINOUTSTOCKORDER_TRANTYPE_LOSE = "01";
	
	/**
	 * 丢失取消
	 */
	public final static String ADJUSTINOUTSTOCKORDER_TRANTYPE_LOSECANCEL = "11";
	
	/**
	 * 报损
	 */
	public static final String ADJUSTINOUTSTOCKORDER_TRANTYPE_BREAKAGE = "02";
	
	/**
	 * 报损取消
	 */
	public final static String ADJUSTINOUTSTOCKORDER_TRANTYPE_BREAKAGECANCEL = "12";
	
	/**
	 * 盘盈
	 */
	public final static String ADJUSTINOUTSTOCKORDER_TRANTYPE_INVENTORYPROFIT = "03";
	/**
	 * 盘盈取消
	 */
	public final static String ADJUSTINOUTSTOCKORDER_TRANTYPE_INVENTORYPROFITCANCEL = "13";
	
	/**
	 * 审核通过
	 */
	public final static String ADJUSTINOUTSTOCKORDER_STATUS_PASS = "1";
	/**
	 * 等待审核
	 */
	public final static String ADJUSTINOUTSTOCKORDER_STATUS_WAITAUTH = "0";
	
	/**
	 * 审核不通过
	 */
	public final static String ADJUSTINOUTSTOCKORDER_STATUS_NOPASS = "2";
	/**
	 * 调整单ID
	 */
	private BigInteger AdjustInOutStockOrderId;
	/**
	 * 发卡商机构号
	 */
	private String IssueBranchNo;
	/**
	 * 销售机构号
	 */
	private String SaleBranchNo;
	/**
	 * 交易时间
	 */
	private Date TranTime;
	/**
	 * 交易类型
	 */
	private String TranType;
	/**
	 * 取消调整单ID
	 */
	private BigInteger CancelAdjustInOutStockOrderId ;
	/**
	 * 操作员号
	 */
	private BigInteger OperId;
	/**
	 * 备注
	 */
	private String Remark;
	/**
	 * 审核状态
	 */
	private String status;
	/**
	 * 审核人
	 */
	private BigInteger AuthOperId;
	/**
	 * 审核时间
	 */
	private Date AuthTime;
	
	/**
	 * 单号
	 */
	private String orderNumber;
	
	public AdjustInOutStockOrder(){
		super();
	}
	
	@Id
	@Column(name = "ADJUSTINOUTSTOCKORDERID", nullable = false)
	public BigInteger getAdjustInOutStockOrderId() {
		return AdjustInOutStockOrderId;
	}
	public void setAdjustInOutStockOrderId(BigInteger adjustInOutStockOrderId) {
		AdjustInOutStockOrderId = adjustInOutStockOrderId;
	}
	
	@Column(name = "ISSUEBRANCHNO", nullable = true)
	public String getIssueBranchNo() {
		return IssueBranchNo;
	}
	public void setIssueBranchNo(String issueBranchNo) {
		IssueBranchNo = issueBranchNo;
	}
	
	@Column(name = "SALEBRANCHNO", nullable = true)
	public String getSaleBranchNo() {
		return SaleBranchNo;
	}
	public void setSaleBranchNo(String saleBranchNo) {
		SaleBranchNo = saleBranchNo;
	}
	
	@Column(name = "TRANTIME", nullable = false)
	public Date getTranTime() {
		return TranTime;
	}
	public void setTranTime(Date tranTime) {
		TranTime = tranTime;
	}
	
	@Column(name = "TRANTYPE", nullable = false)
	public String getTranType() {
		return TranType;
	}
	public void setTranType(String tranType) {
		TranType = tranType;
	}
	
	@Column(name = "CANCELADJUSTINOUTSTOCKORDERID", nullable = true)
	public BigInteger getCancelAdjustInOutStockOrderId() {
		return CancelAdjustInOutStockOrderId;
	}
	public void setCancelAdjustInOutStockOrderId(
			BigInteger cancelAdjustInOutStockOrderId) {
		CancelAdjustInOutStockOrderId = cancelAdjustInOutStockOrderId;
	}
	
	@Column(name = "OPERID", nullable = false)
	public BigInteger getOperId() {
		return OperId;
	}
	public void setOperId(BigInteger operId) {
		OperId = operId;
	}
	
	@Column(name = "REMARK", nullable = true)
	public String getRemark() {
		return Remark;
	}
	public void setRemark(String remark) {
		Remark = remark;
	}

	@Column(name = "STATUS", nullable = true)
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	@Column(name = "AUTHOPERID", nullable = true)
	public BigInteger getAuthOperId() {
		return AuthOperId;
	}

	public void setAuthOperId(BigInteger authOperId) {
		AuthOperId = authOperId;
	}

	@Column(name = "AUTHTIME", nullable = true)
	public Date getAuthTime() {
		return AuthTime;
	}

	public void setAuthTime(Date authTime) {
		AuthTime = authTime;
	}
	
	@Column(name = "OrderNumber")
	public String getOrderNumber() {
		return orderNumber;
	}
	public void setOrderNumber(String orderNumber) {
		this.orderNumber = orderNumber;
	}
}